﻿/*
使用常量
常量是程序中固定不变的数据。
1）宏常量
一般在main函数的上面声明，用大写命名。
语法：#define 常量名 值
#define M 12

2）const修饰的变量
在程序的任何地方都可以声明。
语法：const 数据类型 常量名 = 值
const int days = 7;

3）常量的特点
程序中不允许改变常量的值，否则编译的时候会报错。
*/


#include <iostream>                //包含头文件
#define M 12                       //定义宏常量M， 赋值12   表示一年中的月份
#define PI 3.14                    //定义宏常量PI，赋值3.14 表示圆周率
using namespace std;               //指定缺省的命名空间

int main()
{
	const int days = 7;            //一个星期中的天数
	cout << "一年有" << M << "个月" << endl;
	cout << "圆周率的值是" << PI << endl;
	cout << "一个星期的天数是" << days << endl;
	//修改常量会报错
	//days=10;        const修饰的常量无法被修改
	//M=5;            宏常量不能被修改
	return 0;
}

/*
标识符的命名

1）C++命名规则

C++规定给标识符（变量、常量、函数、结构体、类等）命名时，必须遵守以下规则。
1.在名称中只能使用字母字符、数字和下划线；
2.名称的第一个字符不能是数字
3.名称区分大写字符与小写字符；
4.不能将 C++关键字用作名称；
5.以下划线和大写字母打头的名称被保留给编译器及其使用的资源使用，如果违反了这一规则，会
导致行为的不确定性。
6.C++对名称的长度没有限制，但有些平台可能有长度限制（64 字符）。
7.C++提倡有一定含义的名称（望名知义）。


C++关键字,关键字也叫保留字，是 C++预先保留的标识符
每个 C++关键字都有特殊的含义，用于声明类型、对象、函数、命名空间等，程序中不能声明与关键字同名的标识符。

asm          do              if                  return         typedef
auto         double          inline              short          typeid
bool         dynamic_cast    int                 signed         typename
break        else            long                sizeof         union
case         enum            mutable             static         unsigned
catch        explicit        namespace           static_cast    using
char         export          new                 struct         virtual
class        extern          operator            switch         void
const        false           private             template       volatile
const_cast   float           protected           this            wchar_t
continue     for             public              throw           while
default      friend          register            true
delete       goto            reinterpret_cast    try

*/
